{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "%load_ext autoreload\n",
    "%autoreload 2\n",
    "\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "from fastai.script import *\n",
    "from fastai.vision import *\n",
    "from fastai.callbacks import *\n",
    "from fastai.distributed import *\n",
    "from fastai.callbacks.tracker import *\n",
    "\n",
    "torch.backends.cudnn.benchmark = True\n",
    "\n",
    "import time"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'1.0.57'"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import fastai;fastai.__version__ #safety check"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'1.2.0'"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import torch; torch.__version__ #safety check"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "#from autoadam import AutoAdam"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "from diffgrad import DiffGrad"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "#from ranger_diffgrad1 import Ranger_DiffGrad"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "#from mixnet import MixNet"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "#from ranger import Ranger"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Mish activation loaded...\n"
     ]
    }
   ],
   "source": [
    "from mxresnet import *"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "PosixPath('/home/ubuntu/.fastai/data/imagewoof-160')"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "path = untar_data(URLs.IMAGEWOOF_160); path  #optional - IMAGENETTE"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "def flattenAnneal(learn:Learner, lr:float, n_epochs:int, start_pct:float):\n",
    "  n = len(learn.data.train_dl)\n",
    "  anneal_start = int(n*n_epochs*start_pct)\n",
    "  anneal_end = int(n*n_epochs) - anneal_start\n",
    "  phases = [TrainingPhase(anneal_start).schedule_hp('lr', lr),\n",
    "           TrainingPhase(anneal_end).schedule_hp('lr', lr, anneal=annealing_cos)]\n",
    "  sched = GeneralScheduler(learn, phases)\n",
    "  learn.callbacks.append(sched)\n",
    "  learn.fit(n_epochs)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "tfms = ([\n",
    "\n",
    "        flip_lr(p=0.5)#,\n",
    "        #brightness(change=(0.4,0.6)),\n",
    "        #contrast(scale=(0.7,1.3)),\n",
    "        #cutout(n_holes=(2,40),length=(5,30),p=.25)\n",
    "\n",
    "    ], [])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "bs=64\n",
    "size=128"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "data = (ImageList.from_folder(path)\n",
    "        .split_by_folder(valid='val')\n",
    "        .label_from_folder()\n",
    "        .transform(tfms=tfms,size=size) \n",
    "        .databunch(bs=bs, num_workers=8)  #windows 10 users - num_workers may need to be set to 1 or 0 (if you get pickle fork error)\n",
    "        .presize(size, scale=(0.35, 1))\n",
    "        .normalize(imagenet_stats))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "#learn.purge;learn.destroy  # to reset learner if needed"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "from mxresnet import *"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [],
   "source": [
    "from diffgrad import DiffGrad"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [],
   "source": [
    "optar = partial(DiffGrad, version=1, betas=(.95,.999),eps=1e-6)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [],
   "source": [
    "model = mxresnet50(sa=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [],
   "source": [
    "learn = Learner(data, model, metrics=[accuracy], wd=1e-3,\n",
    "                opt_func=optar,\n",
    "                 bn_wd=False, true_wd=True,\n",
    "                loss_func = LabelSmoothingCrossEntropy())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [],
   "source": [
    "learn.callback_fns += [\n",
    "        partial(ShowGraph),\n",
    "        #partial(SaveModelCallback, name='model-novotest-1')\n",
    "    ]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: left;\">\n",
       "      <th>epoch</th>\n",
       "      <th>train_loss</th>\n",
       "      <th>valid_loss</th>\n",
       "      <th>accuracy</th>\n",
       "      <th>time</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0</td>\n",
       "      <td>2.758223</td>\n",
       "      <td>2.762700</td>\n",
       "      <td>0.320000</td>\n",
       "      <td>00:34</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1</td>\n",
       "      <td>2.498939</td>\n",
       "      <td>2.520245</td>\n",
       "      <td>0.392000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>2.354712</td>\n",
       "      <td>2.340736</td>\n",
       "      <td>0.460000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>2.197485</td>\n",
       "      <td>2.214212</td>\n",
       "      <td>0.526000</td>\n",
       "      <td>00:30</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>2.129957</td>\n",
       "      <td>2.189941</td>\n",
       "      <td>0.550000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>5</td>\n",
       "      <td>2.015059</td>\n",
       "      <td>1.975239</td>\n",
       "      <td>0.662000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>6</td>\n",
       "      <td>1.959366</td>\n",
       "      <td>2.036716</td>\n",
       "      <td>0.636000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>7</td>\n",
       "      <td>1.899160</td>\n",
       "      <td>2.028209</td>\n",
       "      <td>0.660000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>8</td>\n",
       "      <td>1.815370</td>\n",
       "      <td>1.854039</td>\n",
       "      <td>0.698000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>9</td>\n",
       "      <td>1.769482</td>\n",
       "      <td>1.837504</td>\n",
       "      <td>0.694000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>10</td>\n",
       "      <td>1.729864</td>\n",
       "      <td>1.786675</td>\n",
       "      <td>0.718000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>11</td>\n",
       "      <td>1.711019</td>\n",
       "      <td>1.789589</td>\n",
       "      <td>0.744000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>12</td>\n",
       "      <td>1.655457</td>\n",
       "      <td>1.705902</td>\n",
       "      <td>0.746000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>13</td>\n",
       "      <td>1.626503</td>\n",
       "      <td>1.726392</td>\n",
       "      <td>0.728000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>14</td>\n",
       "      <td>1.607400</td>\n",
       "      <td>1.680976</td>\n",
       "      <td>0.740000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>15</td>\n",
       "      <td>1.539366</td>\n",
       "      <td>1.647438</td>\n",
       "      <td>0.768000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>16</td>\n",
       "      <td>1.502676</td>\n",
       "      <td>1.618179</td>\n",
       "      <td>0.776000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>17</td>\n",
       "      <td>1.437591</td>\n",
       "      <td>1.536865</td>\n",
       "      <td>0.792000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>18</td>\n",
       "      <td>1.358306</td>\n",
       "      <td>1.541503</td>\n",
       "      <td>0.812000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>19</td>\n",
       "      <td>1.335280</td>\n",
       "      <td>1.519078</td>\n",
       "      <td>0.832000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "flattenAnneal(learn, 4e-3, 20, .75)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: left;\">\n",
       "      <th>epoch</th>\n",
       "      <th>train_loss</th>\n",
       "      <th>valid_loss</th>\n",
       "      <th>accuracy</th>\n",
       "      <th>time</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0</td>\n",
       "      <td>2.833390</td>\n",
       "      <td>2.699824</td>\n",
       "      <td>0.354000</td>\n",
       "      <td>00:35</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1</td>\n",
       "      <td>2.548797</td>\n",
       "      <td>2.675118</td>\n",
       "      <td>0.342000</td>\n",
       "      <td>00:33</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>2.391769</td>\n",
       "      <td>2.478258</td>\n",
       "      <td>0.424000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>2.267454</td>\n",
       "      <td>2.193657</td>\n",
       "      <td>0.556000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>2.182068</td>\n",
       "      <td>2.529324</td>\n",
       "      <td>0.534000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>5</td>\n",
       "      <td>2.055904</td>\n",
       "      <td>2.122666</td>\n",
       "      <td>0.570000</td>\n",
       "      <td>00:33</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>6</td>\n",
       "      <td>1.954961</td>\n",
       "      <td>2.240763</td>\n",
       "      <td>0.590000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>7</td>\n",
       "      <td>1.864358</td>\n",
       "      <td>1.884452</td>\n",
       "      <td>0.672000</td>\n",
       "      <td>00:33</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>8</td>\n",
       "      <td>1.795261</td>\n",
       "      <td>1.849918</td>\n",
       "      <td>0.692000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>9</td>\n",
       "      <td>1.734303</td>\n",
       "      <td>1.733793</td>\n",
       "      <td>0.756000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>10</td>\n",
       "      <td>1.644062</td>\n",
       "      <td>1.701614</td>\n",
       "      <td>0.734000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>11</td>\n",
       "      <td>1.608566</td>\n",
       "      <td>1.670223</td>\n",
       "      <td>0.762000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>12</td>\n",
       "      <td>1.544450</td>\n",
       "      <td>1.588416</td>\n",
       "      <td>0.780000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>13</td>\n",
       "      <td>1.510783</td>\n",
       "      <td>1.679410</td>\n",
       "      <td>0.780000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>14</td>\n",
       "      <td>1.453640</td>\n",
       "      <td>1.546968</td>\n",
       "      <td>0.788000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>15</td>\n",
       "      <td>1.412902</td>\n",
       "      <td>1.512308</td>\n",
       "      <td>0.812000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>16</td>\n",
       "      <td>1.362322</td>\n",
       "      <td>1.479892</td>\n",
       "      <td>0.826000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>17</td>\n",
       "      <td>1.327679</td>\n",
       "      <td>1.509265</td>\n",
       "      <td>0.810000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>18</td>\n",
       "      <td>1.302359</td>\n",
       "      <td>1.496626</td>\n",
       "      <td>0.814000</td>\n",
       "      <td>00:33</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>19</td>\n",
       "      <td>1.298753</td>\n",
       "      <td>1.502482</td>\n",
       "      <td>0.810000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "learn.fit_one_cycle(20,8e-3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: left;\">\n",
       "      <th>epoch</th>\n",
       "      <th>train_loss</th>\n",
       "      <th>valid_loss</th>\n",
       "      <th>accuracy</th>\n",
       "      <th>time</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0</td>\n",
       "      <td>2.993190</td>\n",
       "      <td>2.822077</td>\n",
       "      <td>0.314000</td>\n",
       "      <td>00:35</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1</td>\n",
       "      <td>2.616494</td>\n",
       "      <td>2.665964</td>\n",
       "      <td>0.346000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>2.382699</td>\n",
       "      <td>2.424042</td>\n",
       "      <td>0.460000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>2.249791</td>\n",
       "      <td>2.478822</td>\n",
       "      <td>0.470000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>2.169872</td>\n",
       "      <td>2.319252</td>\n",
       "      <td>0.462000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>5</td>\n",
       "      <td>2.053635</td>\n",
       "      <td>2.265847</td>\n",
       "      <td>0.538000</td>\n",
       "      <td>00:33</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>6</td>\n",
       "      <td>1.919993</td>\n",
       "      <td>1.876316</td>\n",
       "      <td>0.678000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>7</td>\n",
       "      <td>1.840100</td>\n",
       "      <td>2.183166</td>\n",
       "      <td>0.586000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>8</td>\n",
       "      <td>1.741628</td>\n",
       "      <td>1.788778</td>\n",
       "      <td>0.728000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>9</td>\n",
       "      <td>1.693138</td>\n",
       "      <td>1.887023</td>\n",
       "      <td>0.714000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>10</td>\n",
       "      <td>1.633695</td>\n",
       "      <td>1.658159</td>\n",
       "      <td>0.772000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>11</td>\n",
       "      <td>1.590302</td>\n",
       "      <td>1.684134</td>\n",
       "      <td>0.738000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>12</td>\n",
       "      <td>1.540713</td>\n",
       "      <td>1.572771</td>\n",
       "      <td>0.798000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>13</td>\n",
       "      <td>1.476279</td>\n",
       "      <td>1.565557</td>\n",
       "      <td>0.784000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>14</td>\n",
       "      <td>1.443733</td>\n",
       "      <td>1.553516</td>\n",
       "      <td>0.800000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>15</td>\n",
       "      <td>1.391285</td>\n",
       "      <td>1.486917</td>\n",
       "      <td>0.812000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>16</td>\n",
       "      <td>1.347116</td>\n",
       "      <td>1.494786</td>\n",
       "      <td>0.824000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>17</td>\n",
       "      <td>1.300044</td>\n",
       "      <td>1.482024</td>\n",
       "      <td>0.818000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>18</td>\n",
       "      <td>1.284709</td>\n",
       "      <td>1.470585</td>\n",
       "      <td>0.826000</td>\n",
       "      <td>00:33</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>19</td>\n",
       "      <td>1.275845</td>\n",
       "      <td>1.459899</td>\n",
       "      <td>0.828000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "learn.fit_one_cycle(20,4e-3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: left;\">\n",
       "      <th>epoch</th>\n",
       "      <th>train_loss</th>\n",
       "      <th>valid_loss</th>\n",
       "      <th>accuracy</th>\n",
       "      <th>time</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0</td>\n",
       "      <td>2.376083</td>\n",
       "      <td>2.543161</td>\n",
       "      <td>0.458000</td>\n",
       "      <td>00:36</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1</td>\n",
       "      <td>1.955864</td>\n",
       "      <td>1.932200</td>\n",
       "      <td>0.682000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>1.738561</td>\n",
       "      <td>1.641399</td>\n",
       "      <td>0.782000</td>\n",
       "      <td>00:33</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>1.571276</td>\n",
       "      <td>1.508449</td>\n",
       "      <td>0.840000</td>\n",
       "      <td>00:33</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>1.493405</td>\n",
       "      <td>1.445910</td>\n",
       "      <td>0.862000</td>\n",
       "      <td>00:33</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "learn.fit_one_cycle(5,4e-3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: left;\">\n",
       "      <th>epoch</th>\n",
       "      <th>train_loss</th>\n",
       "      <th>valid_loss</th>\n",
       "      <th>accuracy</th>\n",
       "      <th>time</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0</td>\n",
       "      <td>2.915032</td>\n",
       "      <td>2.821275</td>\n",
       "      <td>0.282000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1</td>\n",
       "      <td>2.729244</td>\n",
       "      <td>2.614827</td>\n",
       "      <td>0.366000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>2.624524</td>\n",
       "      <td>2.643105</td>\n",
       "      <td>0.414000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>2.531703</td>\n",
       "      <td>2.401488</td>\n",
       "      <td>0.468000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>2.455483</td>\n",
       "      <td>2.492201</td>\n",
       "      <td>0.444000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>5</td>\n",
       "      <td>2.371869</td>\n",
       "      <td>2.160528</td>\n",
       "      <td>0.598000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>6</td>\n",
       "      <td>2.347112</td>\n",
       "      <td>2.045589</td>\n",
       "      <td>0.630000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>7</td>\n",
       "      <td>2.282213</td>\n",
       "      <td>1.993346</td>\n",
       "      <td>0.638000</td>\n",
       "      <td>00:33</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>8</td>\n",
       "      <td>2.247681</td>\n",
       "      <td>1.904134</td>\n",
       "      <td>0.696000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>9</td>\n",
       "      <td>2.222119</td>\n",
       "      <td>1.896390</td>\n",
       "      <td>0.688000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>10</td>\n",
       "      <td>2.185400</td>\n",
       "      <td>1.832552</td>\n",
       "      <td>0.718000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>11</td>\n",
       "      <td>2.162920</td>\n",
       "      <td>1.876046</td>\n",
       "      <td>0.684000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>12</td>\n",
       "      <td>2.115988</td>\n",
       "      <td>1.834954</td>\n",
       "      <td>0.710000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>13</td>\n",
       "      <td>2.097006</td>\n",
       "      <td>1.694490</td>\n",
       "      <td>0.730000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>14</td>\n",
       "      <td>2.086040</td>\n",
       "      <td>1.820512</td>\n",
       "      <td>0.720000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>15</td>\n",
       "      <td>2.072474</td>\n",
       "      <td>1.752695</td>\n",
       "      <td>0.730000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>16</td>\n",
       "      <td>2.048842</td>\n",
       "      <td>1.733074</td>\n",
       "      <td>0.738000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>17</td>\n",
       "      <td>2.034947</td>\n",
       "      <td>1.646005</td>\n",
       "      <td>0.774000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>18</td>\n",
       "      <td>2.032485</td>\n",
       "      <td>1.697535</td>\n",
       "      <td>0.762000</td>\n",
       "      <td>00:33</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>19</td>\n",
       "      <td>1.986193</td>\n",
       "      <td>1.643459</td>\n",
       "      <td>0.790000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "learn.fit(20,3e-3) #v1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: left;\">\n",
       "      <th>epoch</th>\n",
       "      <th>train_loss</th>\n",
       "      <th>valid_loss</th>\n",
       "      <th>accuracy</th>\n",
       "      <th>time</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0</td>\n",
       "      <td>2.760318</td>\n",
       "      <td>2.705876</td>\n",
       "      <td>0.308000</td>\n",
       "      <td>00:35</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1</td>\n",
       "      <td>2.505301</td>\n",
       "      <td>2.428731</td>\n",
       "      <td>0.454000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>2.363295</td>\n",
       "      <td>2.402072</td>\n",
       "      <td>0.432000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>2.210432</td>\n",
       "      <td>2.248763</td>\n",
       "      <td>0.500000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>2.140493</td>\n",
       "      <td>2.181470</td>\n",
       "      <td>0.542000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>5</td>\n",
       "      <td>2.032414</td>\n",
       "      <td>2.170866</td>\n",
       "      <td>0.576000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>6</td>\n",
       "      <td>1.916482</td>\n",
       "      <td>1.988057</td>\n",
       "      <td>0.630000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>7</td>\n",
       "      <td>1.850592</td>\n",
       "      <td>1.888239</td>\n",
       "      <td>0.682000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>8</td>\n",
       "      <td>1.778943</td>\n",
       "      <td>1.840208</td>\n",
       "      <td>0.708000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>9</td>\n",
       "      <td>1.761827</td>\n",
       "      <td>1.791052</td>\n",
       "      <td>0.740000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>10</td>\n",
       "      <td>1.721393</td>\n",
       "      <td>1.769991</td>\n",
       "      <td>0.712000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>11</td>\n",
       "      <td>1.679083</td>\n",
       "      <td>1.806373</td>\n",
       "      <td>0.724000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>12</td>\n",
       "      <td>1.637193</td>\n",
       "      <td>1.718689</td>\n",
       "      <td>0.732000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>13</td>\n",
       "      <td>1.591484</td>\n",
       "      <td>1.694590</td>\n",
       "      <td>0.754000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>14</td>\n",
       "      <td>1.582404</td>\n",
       "      <td>1.614647</td>\n",
       "      <td>0.762000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>15</td>\n",
       "      <td>1.552594</td>\n",
       "      <td>1.696681</td>\n",
       "      <td>0.742000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>16</td>\n",
       "      <td>1.520145</td>\n",
       "      <td>1.653884</td>\n",
       "      <td>0.784000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>17</td>\n",
       "      <td>1.496535</td>\n",
       "      <td>1.596677</td>\n",
       "      <td>0.782000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>18</td>\n",
       "      <td>1.484533</td>\n",
       "      <td>1.611881</td>\n",
       "      <td>0.778000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>19</td>\n",
       "      <td>1.459809</td>\n",
       "      <td>1.614671</td>\n",
       "      <td>0.752000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "learn.fit(20,4e-3) #v1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "LR Finder is complete, type {learner_name}.recorder.plot() to see the graph.\n"
     ]
    }
   ],
   "source": [
    "#learn.lr_find()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#learn.recorder.plot()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: left;\">\n",
       "      <th>epoch</th>\n",
       "      <th>train_loss</th>\n",
       "      <th>valid_loss</th>\n",
       "      <th>accuracy</th>\n",
       "      <th>time</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0</td>\n",
       "      <td>2.744928</td>\n",
       "      <td>2.662711</td>\n",
       "      <td>0.334000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1</td>\n",
       "      <td>2.499407</td>\n",
       "      <td>2.528494</td>\n",
       "      <td>0.404000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>2.331353</td>\n",
       "      <td>2.525743</td>\n",
       "      <td>0.404000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>2.200269</td>\n",
       "      <td>2.270855</td>\n",
       "      <td>0.528000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>2.056779</td>\n",
       "      <td>2.089818</td>\n",
       "      <td>0.608000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>5</td>\n",
       "      <td>1.977343</td>\n",
       "      <td>2.151996</td>\n",
       "      <td>0.608000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>6</td>\n",
       "      <td>1.877099</td>\n",
       "      <td>2.284228</td>\n",
       "      <td>0.570000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>7</td>\n",
       "      <td>1.815722</td>\n",
       "      <td>1.897763</td>\n",
       "      <td>0.670000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>8</td>\n",
       "      <td>1.781015</td>\n",
       "      <td>1.874201</td>\n",
       "      <td>0.688000</td>\n",
       "      <td>00:33</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>9</td>\n",
       "      <td>1.716859</td>\n",
       "      <td>1.780057</td>\n",
       "      <td>0.714000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>10</td>\n",
       "      <td>1.689385</td>\n",
       "      <td>1.829566</td>\n",
       "      <td>0.732000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>11</td>\n",
       "      <td>1.654243</td>\n",
       "      <td>1.686140</td>\n",
       "      <td>0.744000</td>\n",
       "      <td>00:33</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>12</td>\n",
       "      <td>1.633207</td>\n",
       "      <td>1.774728</td>\n",
       "      <td>0.734000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>13</td>\n",
       "      <td>1.578896</td>\n",
       "      <td>1.929671</td>\n",
       "      <td>0.696000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>14</td>\n",
       "      <td>1.568783</td>\n",
       "      <td>1.642650</td>\n",
       "      <td>0.766000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>15</td>\n",
       "      <td>1.537254</td>\n",
       "      <td>1.628564</td>\n",
       "      <td>0.770000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>16</td>\n",
       "      <td>1.509724</td>\n",
       "      <td>1.605565</td>\n",
       "      <td>0.790000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>17</td>\n",
       "      <td>1.487072</td>\n",
       "      <td>1.561180</td>\n",
       "      <td>0.792000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>18</td>\n",
       "      <td>1.471038</td>\n",
       "      <td>1.687238</td>\n",
       "      <td>0.754000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>19</td>\n",
       "      <td>1.472149</td>\n",
       "      <td>1.744187</td>\n",
       "      <td>0.746000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "learn.fit(20,4e-3) #v0"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: left;\">\n",
       "      <th>epoch</th>\n",
       "      <th>train_loss</th>\n",
       "      <th>valid_loss</th>\n",
       "      <th>accuracy</th>\n",
       "      <th>time</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0</td>\n",
       "      <td>2.733951</td>\n",
       "      <td>2.716379</td>\n",
       "      <td>0.350000</td>\n",
       "      <td>00:34</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1</td>\n",
       "      <td>2.478821</td>\n",
       "      <td>2.473446</td>\n",
       "      <td>0.426000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>2.293517</td>\n",
       "      <td>2.276245</td>\n",
       "      <td>0.532000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>2.171782</td>\n",
       "      <td>2.119609</td>\n",
       "      <td>0.578000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>2.059656</td>\n",
       "      <td>1.963256</td>\n",
       "      <td>0.638000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>5</td>\n",
       "      <td>1.968898</td>\n",
       "      <td>2.102341</td>\n",
       "      <td>0.600000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>6</td>\n",
       "      <td>1.910046</td>\n",
       "      <td>1.879270</td>\n",
       "      <td>0.682000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>7</td>\n",
       "      <td>1.823214</td>\n",
       "      <td>1.855295</td>\n",
       "      <td>0.702000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>8</td>\n",
       "      <td>1.768201</td>\n",
       "      <td>1.819462</td>\n",
       "      <td>0.702000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>9</td>\n",
       "      <td>1.735258</td>\n",
       "      <td>1.827078</td>\n",
       "      <td>0.716000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>10</td>\n",
       "      <td>1.702552</td>\n",
       "      <td>1.800421</td>\n",
       "      <td>0.714000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>11</td>\n",
       "      <td>1.658612</td>\n",
       "      <td>1.745232</td>\n",
       "      <td>0.724000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>12</td>\n",
       "      <td>1.606115</td>\n",
       "      <td>1.773811</td>\n",
       "      <td>0.728000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>13</td>\n",
       "      <td>1.584969</td>\n",
       "      <td>1.618057</td>\n",
       "      <td>0.782000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>14</td>\n",
       "      <td>1.544538</td>\n",
       "      <td>1.671348</td>\n",
       "      <td>0.756000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>15</td>\n",
       "      <td>1.536104</td>\n",
       "      <td>1.721454</td>\n",
       "      <td>0.758000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>16</td>\n",
       "      <td>1.520199</td>\n",
       "      <td>1.606381</td>\n",
       "      <td>0.744000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>17</td>\n",
       "      <td>1.494174</td>\n",
       "      <td>1.615569</td>\n",
       "      <td>0.778000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>18</td>\n",
       "      <td>1.479268</td>\n",
       "      <td>1.656587</td>\n",
       "      <td>0.758000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>19</td>\n",
       "      <td>1.460901</td>\n",
       "      <td>1.594277</td>\n",
       "      <td>0.804000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "learn.fit(20,4e-3) #v1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[autoreload of diffgrad failed: Traceback (most recent call last):\n",
      "  File \"/home/ubuntu/anaconda3/lib/python3.7/site-packages/IPython/extensions/autoreload.py\", line 245, in check\n",
      "    superreload(m, reload, self.old_objects)\n",
      "  File \"/home/ubuntu/anaconda3/lib/python3.7/site-packages/IPython/extensions/autoreload.py\", line 434, in superreload\n",
      "    module = reload(module)\n",
      "  File \"/home/ubuntu/anaconda3/lib/python3.7/imp.py\", line 314, in reload\n",
      "    return importlib.reload(module)\n",
      "  File \"/home/ubuntu/anaconda3/lib/python3.7/importlib/__init__.py\", line 169, in reload\n",
      "    _bootstrap._exec(spec, module)\n",
      "  File \"<frozen importlib._bootstrap>\", line 630, in _exec\n",
      "  File \"<frozen importlib._bootstrap_external>\", line 724, in exec_module\n",
      "  File \"<frozen importlib._bootstrap_external>\", line 860, in get_code\n",
      "  File \"<frozen importlib._bootstrap_external>\", line 791, in source_to_code\n",
      "  File \"<frozen importlib._bootstrap>\", line 219, in _call_with_frames_removed\n",
      "  File \"/home/ubuntu/course-v3/nbs/dl1/diffgrad.py\", line 110\n",
      "    diff =   #DFC2 = 9/(1+e-(.5/g/)-4 #range .5,5\n",
      "                                                ^\n",
      "SyntaxError: invalid syntax\n",
      "]\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: left;\">\n",
       "      <th>epoch</th>\n",
       "      <th>train_loss</th>\n",
       "      <th>valid_loss</th>\n",
       "      <th>accuracy</th>\n",
       "      <th>time</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0</td>\n",
       "      <td>2.710830</td>\n",
       "      <td>2.680972</td>\n",
       "      <td>0.328000</td>\n",
       "      <td>00:35</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1</td>\n",
       "      <td>2.413161</td>\n",
       "      <td>2.501697</td>\n",
       "      <td>0.428000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>2.245974</td>\n",
       "      <td>2.342880</td>\n",
       "      <td>0.492000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>2.116959</td>\n",
       "      <td>2.109904</td>\n",
       "      <td>0.616000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>2.009061</td>\n",
       "      <td>2.256759</td>\n",
       "      <td>0.568000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "learn.fit(5,4e-3) #v1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: left;\">\n",
       "      <th>epoch</th>\n",
       "      <th>train_loss</th>\n",
       "      <th>valid_loss</th>\n",
       "      <th>accuracy</th>\n",
       "      <th>time</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0</td>\n",
       "      <td>2.730675</td>\n",
       "      <td>2.779063</td>\n",
       "      <td>0.298000</td>\n",
       "      <td>00:35</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1</td>\n",
       "      <td>2.455382</td>\n",
       "      <td>2.535800</td>\n",
       "      <td>0.394000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>2.259683</td>\n",
       "      <td>2.336660</td>\n",
       "      <td>0.466000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>2.134786</td>\n",
       "      <td>2.228118</td>\n",
       "      <td>0.558000</td>\n",
       "      <td>00:31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>2.056129</td>\n",
       "      <td>2.167917</td>\n",
       "      <td>0.588000</td>\n",
       "      <td>00:32</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "learn.fit(5,4e-3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "lr = 1e-2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "res = []\n",
    "num_epoch=5\n",
    "for x in range(5):\n",
    "  learn = Learner(data, mxresnet50(c_out=10), wd=1e-2, opt_func=optar,\n",
    "                 metrics=[accuracy],\n",
    "                 bn_wd=False, true_wd=True,\n",
    "                 loss_func=LabelSmoothingCrossEntropy())\n",
    "  #n = len(learn.data.train_dl)\n",
    "  #anneal_start = int(n*5*0.7)\n",
    "  phase0 = TrainingPhase(anneal_start).schedule_hp('lr', lr)\n",
    "  phase1 = TrainingPhase(n*5 - anneal_start).schedule_hp('lr', lr, anneal=annealing_cos)\n",
    "  phases = [phase0, phase1]\n",
    "  sched = GeneralScheduler(learn, phases)\n",
    "  learn.callbacks.append(sched)\n",
    "  learn.fit(num_epoch)\n",
    "  \n",
    "  loss, acc = learn.validate()\n",
    "  res.append(acc.numpy())\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "#results:\n",
    "np.mean(res)\n",
    "print(\"------\")\n",
    "res\n",
    "print(\"std dev: \",np.std(res))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
